Modern communications systems are generally required to transmit data at both high rates and with little error. To satisfy such requirements, many communications systems employ error-control code to enhance system performance. Convolutional codes are a popular choice as codes used for error correction, due to both their capacity and reasonable coding simplicity. For example, convolutional codes are regularly used in various digital communications standards, such as DVB-T (Digital Video Broadcast-Terrestrial), which requires an average bit error rate (BER) of 2×10−4 for quasi error-free (QEF) operation. ISDB-T (Integrated Service Digital Broadcasting-Terrestrial) is another standard that also employs convolutional codes and may require a similar BER for regular operation.
A classical concatenated coding system may contain a Viterbi decoder to receive and decode an code received over a channel, followed by a Reed-Solomon (RS) decoder that may be used to further identify and correct decoding errors. Based on the application, errors that occur in the Viterbi decoder may be random bit errors, or may alternatively occur in bursts of consecutive bit errors. When burst errors occur, the coding system may, for example, employ a byte structure of data, which may allow the RS decoder to simply isolate bytes that contain at least one error and correct the entire byte.
Some existing solutions using the Viterbi decoder and RS decoder series typically identify differences in the path metrics or sum of branch metrics over a local window. For example, the Soft Output Viterbi Algorithm (SOVA) observes path metrics at the input side of the Viterbi Algorithm and produces full, soft-output information for further processing by the RS decoder. However, such methods usually require extensive summation and storage of the path and branch metrics, which carry with it a non-negligible hardware cost.
In view of the foregoing, it would be desirable to enable an alternative error correction system and method for the Viterbi decoder and RS decoder series. In particular, it would be desirable to identify and mark errors for the RS decoder with a small computation and hardware cost.